Synthetically generated computer graphics images normally suffer from the deficiency of being uniformly sharp, i.e. all parts of the image appear to be in focus. This is an un-natural effect, but simulating the effects of focus/de-focus is often highly expensive both in terms of computational power and memory bandwidth. An example of such a technique is described in "Synthetic Image Generation with a Lens and Aperture Model" by M. Potmesil and I. Chakravarty, ACM Transactions on Graphics Vol.1, No.2, April 1982 at pp.85-108. The Potmesil technique is an extension of earlier ray-tracing methods (modelling light propagation as infinitely thin rays travelling in straight line paths) that allows the inclusion of a camera/lens/aperture model. This is a computaticnally expensive technique which is impractical for real-time systems: a minimum time to generate an image at minimum distortion (highest aperture number) in excess of two and a half minutes is quoted, with processing time increasing as the aperture number is reduced.
An alternative and simpler technique is described in "Two 2D Postprocessing Tools and their Applications to Improvement of 3D Pictures" by J-F. Colonna, The Visual Computer (1994), at pp.239-242. Colonna describes a post-processing tool which uses a variable length convolution filter to provide an impression of depth in an image by increasing variation in filter length at increasing distance along the z-axis (towards foreground or background) from a focus depth. A particular problem likely to be encountered occurs at sharply receding surfaces and depth discontinuities, for example at the edge of a foreground object overlying a distant background: including in the filter kernel pixels of widely differing depth values can lead to inaccuracies and these will become particularly noticeable for objects at or close to the focus depth.
Accordingly, it is an object of the present invention to provide a computationally inexpensive technique that does not suffer from effects caused by depth discontinuities.